// 单独维护跟分类管理相关的网络请求代码
import axios from "axios"
import request from '../utils/request'

// 转存数据（执行一次就能录入完整的分类数据）
export const categoryPost = async ()=>{
    // 1. 获取第三方平台的数据
    let res = await axios.get('/hehe/proxy/classification/index')
    console.log(res);
    // 2. 将数据录入自己的云服务
    request.post('/classes/Category',res.data.results[0])
}

// 加载分类数据
export const categoryGet = async ()=>{
    let res = await request.get('/classes/Category')
    // console.log('云服务分类数据',res);
    return res.data.results[0]
}

// 加载商品细分类
export const subNavGet = async (module_id)=>{
    // 向第三方网站发请求
    let res = await axios.get(`/hehe/proxy/classification/navigation?module_id=${module_id}`)
    // console.log('细分类数据',res);
    return res.data.results[0]
}

// 加载商品数据
export const productGet = async (subId)=>{
    // https://m.wzj.com/proxy/search/products?sub_navigation_id=69839
    let res = await axios.get(`/hehe/proxy/search/products?sub_navigation_id=${subId}`)
    console.log('商品数据',res);
    return res.data.results
}

// 转存商品列表中的分类数据
export const subNavSave = async (subNavData)=>{
    // module_id 为条件 尝试查询SubNav表，如果已经存在本条数据，则不再转存
    let res1 = await request.get(`/classes/SubNav?where={"module_id":${subNavData.module_id}}`)
    console.log(res1);
    if(res1.data.results.length){
        return {
            message: '已经存在此条数据，不需要重复转存了',
            type: 'error',
        }
    }
    let res2 = await request.post('/classes/SubNav',subNavData)
    return {
        message: '分类数据转存成功',
        type: 'success',
    }
    console.log(res2);
}

// 批量转存商品数据
export const proSaveBatch = async (proList,sub_navigation_id)=>{ //接收商品数组数据为参数proList
    let res1 = await request.get(`/classes/Product?where={"sub_navigation_id":${sub_navigation_id}}`)
    if(res1.data.results.length){
        return {
            message: '已经存在此类商品，不需要重复转存了',
            type: 'error',
        }
    }
    // list 数据包格式如下
    // let list = [
    //     {
    //         "method": "POST",   // 3.1 说明本条数据的操作意图（新增、删除？）
    //         "path": "/1.1/classes/Product",  //3.2 指定本条数据操作的目标，Post是动态表名
    //         "body": "商品数据包"
    //     }
    // ]
    let list = proList.map(item=>{
        return {
            "method": "POST",   // 3.1 说明本条数据的操作意图（新增、删除？）
            "path": "/1.1/classes/Product",  //3.2 指定本条数据操作的目标，Post是动态表名
            "body": {
                ...item,  //拓展运算符、展开运算符
                sub_navigation_id  //在每个商品数据包中增加一个细分类id
            }
        }
    })
    let res = await request.post('/batch',{"requests":list})
    return {
        message: '商品数据转存成功',
        type: 'success',
    }

}